
import numpy as np

#创建多维数组
m = np.array([np.arange(4),np.arange(4)]) #创建一个二维数组 数组里面的每个数组元素有4个元素
print("m=",m)
print("m.shape",m.shape) # (2,4)维度信息 记录每个维度数组里面的长度

#简单来说就是创建一个3*4的数组 3行 4列
m2 = np.array([np.arange(4),np.arange(4),np.arange(4)])
print("m2",m2)
print("m2.shape",m2.shape)
#三维数组 从外到内长度分别是2,3,4
#把一个长度为24的数组重新包装成3维数组
b = np.arange(24).reshape(2,3,4)
print("b=",b)
print("b[0,1]=",b[0,1])
print("多维切片1:",b[0])
print("多维切片2:",b[0,1:2])

a = b.ravel() #把多维数组变成一维数组与reshape函数的相反的
print("a=",a) 
#通过shape属性设置维度

a.shape = (4,6)
print("a 22=",a)

#水平、垂直组合数组
a = np.array([np.arange(2),np.arange(2)])
b = a*2
print("----------组合前---------")
print("a=",a)
print("b=",b)
print("-------------水平组合------------")
hary = np.hstack((a,b))
print(hary,"维度信息:",hary.shape)

print("-------------垂直组合------------")
vary = np.vstack((a,b))
print(vary,"维度信息:",vary.shape)